package com.ncmmall.domain.business.order.dto;

import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;

/**
 * 订单DTO
 *
 * @author linxs
 * @date 2019-07-16 14:50
 */
@Getter
@Setter
public class OrderDTO {

    private long id;

    /**
     * 收货人
     */
    private String deliveryName;

    /**
     * 收货省份
     */
    private String deliveryProvince;

    /**
     * 收货城市
     */
    private String deliveryCity;

    /**
     * 收货区/县
     */
    private String deliveryArea;

    /**
     * 收货地址
     */
    private String deliveryAddress;

    /**
     * 收货人电话
     */
    private String deliveryMobile;

    /**
     * 备注
     */
    private String note;

    /**
     * 配送方式
     * 1、快递
     * 2、自提
     */
    private int shippingMethod;

    /**
     * 发票类型
     * 1、普票
     * 2、专票
     */
    private int invoiceType;

    /**
     * 是否开具发票
     * 1、不开发票
     * 2、开具发票
     */
    private int haveInvoice;

    /**
     * 发票抬头类型
     * 1、企业
     * 2、个人
     */
    private int invoiceTitleType;

    /**
     * 发票抬头
     */
    private String invoiceTitle;

    /**
     * 发票税号
     */
    private String invoiceTFN;

    /**
     * 线下转账凭证图片
     */
    private String bankCardPayPhoto;

    /**
     * 线下转账凭证备注文字
     */
    private String bankCardPayNote;

    /**
     * 是否一键上架商品
     * 0、否
     * 1、是
     */
    private int isIssuingType;

    /**
     * 1、申请成为分销商
     * 2、购买分销商品
     */
    private int orderType;

    /**
     * 申请分销商等级
     */
    private int level;

    /**
     * 分销商id，购买分销商品时需要
     */
    private Long distributorId;

    /**
     * 分销订单来源
     * 1、商品分享
     * 2、微店分享
     * 3、商城购买
     */
    private Integer distributorSource;

    private double amount;

    private List<OrderDetailDTO> details = new ArrayList<>();

    private List<CouponDTO> coupons = new ArrayList<>();

    private List<ShoppingCardRecordDTO> shoppingCardRecords = new ArrayList<>();

    private List<GiftActivityDTO> giftActivities = new ArrayList<>();

    //
    private long liveSessionGoodsId;
    private long liveSessionId;

    /**
     * 默认：小程序微信支付
     * 1：APP微信支付
     * 2：APP支付宝支付
     */
    private int payType;

}
